LXDC V0.32
Controlling digital camera Kodak DC20 from 100LX/200LX
Copyright (C) 1996 by Eiichiroh Itoh
(mailto:GHC02331@niftyserve.or.jp)


   ===== Copyright, Distribution Policy and Disclaimer =====
   This program is a copyrighted freeware. Its copyright is 
   owned by its author Eiichiroh Itoh. You may use it freely, 
   but you are not permitted to use it for any commercial 
   purpose. If you want to post this program to other BBS, 
   ftp site or network, or if you want to bundle it to other 
   program or publication, you should receive prior 
   permission from its author. The author is in no way 
   liable to any damage, which may be caused by the use of 
   or inability to use this software.
   =========================================================


1.Introduction

LXDC is a program to control digital camera Kodak DC20 from 
100LX/200LX.  With a small form factor, DC20 is a good 
companion to 100LX/200LX.  However it has an internal storage 
capacity of only 8 frames (or 16 frames in "snap"mode).  
Sometimes this quantity is not enough.  The goal of LXDC is to 
transfer the pictures you have taken, from DC20 to your 100LX/
200LX for storage, so you can take pictures beyond 8 frames.

Notes: 
  (1) This version of LXDC cannot create BMP or TIFF files.  
      You can convert to such format on your PCs or MACs 
      running software bundled with DC20 or ES-1000.  
      100LX/200LX connected to such PCs will transfer full 
      color images via serial interface.
  (2) Kodak DC20 and Chinon ES-1000 is almost identical product 
      with small differences.  One difference is that ES-1000 
      has a unique Camera ID and thus its bundled software does 
      not connect to LXDC in DC-20 Server mode. In this case 
      you should specify which Camera you are using in 
      configuration file.  Please refer to 3.Installation.


2.Interconnection cable

You need a cable to connect 100LX/200LX to DC20.  You can make 
one yourself relatively easily (see Appendix). 

You do not need to make a cable yourself, if you combine 
following cables and adapters.
  - F1015A cable (10 pin to 9 pin) from HP
  - 9 pin male to 9 pin male null modem adapter, supplied in 
    Connectivity Pack from HP 
  - DC20 to PC cable, supplied with DC20
It is bulky but it works.  Even if you use your self-made cable,
I recommend you to tesr first with this bulky combination.


3.Installation

Decompress the archive, place LXDC.EXM to your preferred 
directory and register it to MoreEXM or System Manager.  Place 
LXDC.INI to A:\_DAT or C:\_DAT.

You need to create directory for LXDC to store images (example: 
A:\LXDC).  One image consumes approximately 100 KB.  You may 
prefer A: drive to C: as generally A: (flash disk) provide more 
of unused disk space. 

Edit LXDC.INI on A:\_DAT or C:\_DAT and make an entry which 
defined the image storage directory which you have just 
created, by a following line:

     D=A:\LXDC

Namely add the directory name after "D=".

    Note:  If LXDC does not find LXDC.INI, it assumes that the 
           storage directory is C:\ and creates LXDC.INI on 
           C:\_DAT when it is closed.  You can edit it by build-
           in Memo editor, or move it from C:\_DAT to A:\_DAT.

If there are LXDC.INI both on C:\_DAT and A:\_DAT, LXDC uses 
the one on A:\_DAT.

If you use ES-1000, additional modification of LXDC.INI is 
necessary.  Below"d=..." line, you should add one line which 
consists of:

     e=1

It makes the software bundled with ES-1000 to recognize LXDC.

Now you can start LXDC by pressing the start key you selected 
at installation.


4. Connecting a Camera 

After start-up LXDC displays 8 frames on screen.  These are the 
areas to display pictures stored in DC20.  Since it is not 
acquired yet, all the frames are vacant at start-up.

Connect DC20 to 100LX/200LX by a cable and then switch DC20 
on.  Press {F1}.  A odometer screen appears for a while, 
disappears and the screen now displays the number of frames you 
have taken and the number of vacant frames you now have on your 
Camera.  You can now see that "--" in "Version ---- Taken/Rest 
--/--", which you see at start-up at the upper left area of the 
display, is replaced by the actual values after pressing {F1}.

If the odometer screen does not disappear after 10 seconds, it 
shows DC20 is not powered up or the cable connection is not 
made correctly.  Check the camera, cable and connector again.

    Note:  Key input is disabled while an odometer screen is 
           displayed.  You can exit from odometer screen by 
           pressing {ESC} key and wait for a while. 

After the connection is established, press {F2} to transfer the 
thumbnail images from the Camera.  Error message will be shown 
if there are no pictures in DC20.

Move the cursor (a frame surrounding an thumbnail image) by 
arrow key to select the picture you like to store the full 
color image data for. Press {F4}.The progress of data transfer 
is shown on odometer screen.  After its completion, a file name 
"IMGxx" is displayed below the thumbnail image, where xx is a 
frame number.  Now a file IMGxx.IMG contains the data 
transferred from the Camera.

You should rename an image file, if you do not want it to be 
overwritten or deleted when a new image is transferred.  Move 
the cursor to the picture you want to rename, press {Menu} f r 
(Menu-File-Rename) and then enter a name into a "Rename" 
dialogue box.  (Do not use a file name starting with "IMG".  It 
would confuse LXDC and would give you a risk of accidental loss 
of stored images.)

    Notes:
        (1) If the transfer rate is too slow, you can increase 
            it to 19200, 38400 or 57600, by pressing {Menu} o 
            (Menu-Option).  Selecting 115200 may cause too much 
            errors and retries, making the overall rate slower.
            If you are lucky, 115200 will give your a most 
            satisfactory transfer.
        (2) LXDC does NOT check the available disk space by 
            itself.  You should confirm the free space on your 
            flash disk (or RAM disk) before making a new file 
            for thumbnail images or full color images.  A full 
            color image occupies 130048 bytes.  A CMT file is 
            125056 bytes.

The image data transfer from the Camera, as explained above, 
can be summarized as follows:

  1. Connect with Camera by {F1}
  2. Get thumbnail images by {F2}
  3. Select an image by a cursor
  4. Get full image by {F4}
  5. Rename the image filename by {F5}

    Note:  The last step "Rename the image filename by {F5}" 
           can be substituted by "Save the image file in CMT 
           format by {F7}", if you are using ES-1000.  Do not 
           forget that CMT file cannot be transferred to you PC 
           or Mac with LXDC running in Server Mode (see below).

Display of thumbnail pictures can be controlled by the 
following keys.
   {TAB} ...... Expanded (double size) view.  The thumbnail 
                picture is expanded by a factor of 2. 
   + - * / .... Adjust brightness of expanded view
   {F8} ....... Save the ex?panded picture in PCX format.  It 
                should be pressed while the catalogue of 
                thumbnail pictures are on screen


5. Operation modes (Camera mode and Local mode)

After start-up LXDC operates in "Camera mode".  When LXDC is in 
this mode, it displays only the 8 image files in the storage 
directory, with filenames IMG00.IMG to IMG07.IMG.  They exactly 
correspond to the 8 frames of internal images in the Camera. 

If you switch to "Local mode", you can view all the images in 
the storage directory, including IMG00.IMG to IMG08.IMG.  
However, you cannot control the operation of camera remotely.  
Images can be saved (in PCX or CMT format) or renamed in this 
mode. 

The images viewable in Local mode can be sent to your PC or
MAC, when LXDC operates in Server mode (See below).

{f9} switches between Camera mode and Local mode.


    Note:  Please switch back to Camera mode, if you are going 
           to use a function listed under Camera Menu. 


6. Transfer your data to your PC or MAC (LXDC in Server mode)

Connect your 100LX/200LX with your PC or MAC with serial cable. 
Press{F10} or {Menu} s s (Menu-Special-Server).  Run a bundled 
software on your PC or MAC and activate a function for getting 
data from the Camera.  Then LXDC simulates the behavior of DC20 
and start talking with the bundled software. 

In the same manner as connected to DC20, you can get camera 
images from full color image files on 100LX/200LX and displayed 
on your PC(or MAC).  You can save them in BMP or TIFF format. 

If you have ES-1000, you can use CMT format file created 
directly on your 100LX/200LX.  Move the cursor to the thumbnail 
picture for a full color image data and press {Menu} f s (Menu-
File-Save as CMT).  You should then enter file name (with 
extension .CMT) to the input dialogue box.  A file in CMT 
format is thus created and can be copied to your PC or MAC for 
loading to your bundles software. 

    Troubles and solutions:
     
    The most problematic area of operation with LXDC is file 
    transfer to your PC or MAC.  Main cause is that receiving 
    speed on serial port of 100LX/200LX is not fast enough to 
    cope with the speed of your PC or MAC.  Some of the bundles 
    software seems to have too short a response time limit and 
    thus tends to create instability in transfer. 

     Currently troubles are seen when you use the following 
     hardware:
       1. If your 100LX/200LX has normal speed crystal.
       2. If your 100LX/200LX is connected to Macintosh.

     If you encounter instability with "100LX/200LX has normal 
     speed crystal", reduction of communication speed on your 
     PC will most probably solves the problem.  Reduce the baud 
     rate of TWAIN driver running on your PC (This is NOT the 
     baud rate setting on your 100LX/200LX).  If you use 
     PhotoEnhancer, you should select "Acquire image by TWAIN" 
     and then select "Acquire" menu and "User setting" item to 
     get to the baud rate setting.

     If you encounter problems on Macintosh, simple reduction 
     of baud rate may not work.  First solution is to adjust 
     the timeout value on 200LX by modifying the "c=" setting 
     on LXDC.INI to a value larger than 10.  I received a 
     report that too large a value does not work, but c=2275 
     works fine.  Another solution is to use Kai's Power Goo, 
     instead of PhotoEnhancer.  The problem here is that Kai's 
     Power Goo has a PowerMac version only. 

     ???timeout value???????????????????????
     delay time????

The other functions, such as camera remote control, are self-
explanatory.   Please play with them.

Following is a menu tree of LXDC with a concise description of 
its function.

     File
       Save as CMT  ... Save to a file in CMT format.
       Save as PCX  ... Save to a file in PCX format.
       Delete       ... Delete a file.
       Rename       ... Rename a file.
       Exit         ... Exit from LXDC
     Camera
       All
         Full       ... Get the all images and then rename.
         Save as CMT... Get the all images and save to files in
                        CMT format.
         Rename     ... Rename all the acquired images 
       Info         ... Get status information of the Camera
       Table        ... Get all the thumbnail images of the 
                        Camera.
       Take         ... Take a picture (shutter)
       Timer        ... Take a picture with a timer
       Erase        ... Erase a picture within the Camera
       Image        ... Get thumbnail image of the frame 
                        selected by the cursor.
       Full         ... Get full image of the frame selected by
                        the cursor
     Special
       Redraw       ... Redraw the screen
       Local        ... Go to Local mode
       Camera       ... Go to Camera mode
       Server       ... Go to Server mode
       2x Image     ... Display double sized (expanded) image
     Option
       Setup        ... set various parameters
       9600         ... set baud rates
       19200
       38400
       57600
       115200
     Quit           ... Quit.
     Help
       About        ... Show copyright information.

7. Limitation and Version History

Following are the limitation of the current version.

   o LXDC cannot create BMP or TIFF files directly on 
     100LX/200LX.
   o Snap mode (taking pictures and transferring images) is not 
     supported.
   o Maximum number of images to be displayed is 120 in local 
     mode.
   o Maximum number of imaged to be transferred to PC (or MAC) 
     is 120 in Server mode. 
   o Available disk space is NOT checked.  Loss of images can 
     happen if disk is full. 

Version History is as follows:

  V0.01 1996/08/21  Started to write.
  V0.26 1996/09/10  Released first beta.

  V0.27 1996/09/14  Made the sleep time adjustable before 
                    receiving data in Server mode (for MAC).

  V0.28 1996/09/14  Added a function of getting all the images 
                    and renaming all the files in one action. 

  V0.31 1996/09/23  Added option for ES-1000.
                    Removed bug from progress indicator.

  V0.32 1996/09/27  Removed unused message area.


8. Acknowledgement

I am happy to have this software finally released, based of my 
analysis of DC20 I started some time ago.  

I would like to thank following people, who read my Analysis 
Diary on my home page and encouraged me by e-mail:

   o Mr Tamotsu Aoki (aoki@geocities.com)              ?????
   o Mr Hideki Yoshida (hideki@yk.rim.or.jp)

I would also thank to Mr Yoshida and the following people who 
helped my by testing with ES-1000.

   o Mr Taiden (HGG02660@niftyserve.or.jp)
   o Mr Yoboruda (PFA03106@niftyserve.or.jp)           ??????????
   o Mr Akinobu Yamada (GFC01252@niftyserve.or.jp)

Also I would like to thank 

   o Mr Hidemichi Yuasa (MXE05064@niftyserve.or.jp)

for doing tests on Mac repeatedly.

I extend my thanks to members of Forums FHPPC and FJAMEP who 
welcome this program with warm messages, when I first released 
it. 

And finally, many thanks to my wife (????????), who 
always encourages me in creating free software. 


9. Before closure

Requests and bug reports are always welcome.  This software is 
not complete,since the analysis of full image is not finished 
yet.  However, I suppose it reached the level of practical 
usage. 

If you are interested, please refer to my home page 
(http://www.asahi-net.or.jp/~HL1E-ITU) for stories involving 
the analysis of DC20 (in Japanese). 

This program is supported on Section 7, Forum FHPPC, NIFTY-
Serve or by e-mail.

Source code is not released since it is still in beta.  If you 
need one, please contact me by email.  I plan to release the 
source code of the official release.


10. Important notice

o The copyright of the program in this package is owned by its 
  author Eiichiroh Itoh (GHC02331@niftyserve.or.jp).
o The author is in no way responsible for any damage, which may 
  be caused by the use of, or inability to use, the program in 
  this package.  The author has no obligations for fixing any 
  defects, which may be found in the program in this package. 
o Please send your bug reports or request by posting a message 
  on Section 7, Forum FHPPC, NIFTY-Serve or by e-mail to the 
  author.
o No redistribution is permitted.
o No modification is permitted on EXM file.
o If you would like to redistribute or report this program, 
  first contact the author. 
o If you would like to describe about this software in 
  publication other than periodicals, you should first contact 
  the author.





Appendix:  How to make a cable 


Cable connection is as follows (this cable is compatible with 
the cable supplied with the camera).

Please do not simply copy everything below.  Check by yourself!!
The author is not responsible even if you damages your PC or 
DC20 by the cable you have made.


A cable for PC (D-SUB 9-pin)

       PC Serial                  3pin Plug
                                    +--+
      pin 2 (RxD)  =============>   |  |
                                    |--|
      pin 3 (TxD)  =============>   |  |
                                    |--|
      pin 5 (GND)  =============>   |  |
                                 +--+--+--+
                                 |        |

     The following pins can be connected together on its 
     connector side.  (If it is directly connected to 
     100LX/200LX, you do not need them connected together).
       o pin 1 (CD)
       o pin 6 (DSR)
       o pin 7 (RTS)
       o pin 8 (CTS)

I have gotten a stereo mini plug from a earphone (made by 
Sony), connected it to DSUB 9-pin male connector and thus made 
a cable assembly with length of 10 cm (4 inches).  It is used 
together with a self made cable (DSUB 9-pin female and 10-pin 
female for 200LX).  Entire length is approximately 15 cm (6 
inches). 

If you are going to make a cable to connect DC20 directly to 
100LX/200LX with 10-pin connector, please refer to the pin 
assignment described in the user's guide of 100LX/200LX.  

    Note:  Mr Yoshida reported that connecting of these pins 1, 
           6, 7 and 8 is not necessary, if it is directly 
           connected to 100LX/200LX via 10-pin connector.

If you have difficulties to find 10 pin connector for 
100LX/200LX, you can use a serial cable F1015A.   However, the 
above connection does not work, since F1015A is a null modem 
cable.  You should connect it as follows. 

Again, please do not simply copy everything below.  Check by 
yourself!!  The author is not responsible even if you damages 
your PC or DC20 by the cable you have made.

A cable for use with F1015A (D-SUB 9- pin male)

       F1015A                    3pin Plug
                                    +--+
      pin 3 (TxD) =============>    |  |
                                    |--|
      pin 2 (RxD) =============>    |  |
                                    |--|
      pin 5 (GND) =============>    |  |
                                 +--+--+--+
                                 |        |

Following pins should be connected together on connector side. 
       o 1pin 1 (CD)
       o 4pin 4 (DTR)
       o 7pin 7 (RTS)
       o 8pin 8 (CTS)


LXDC Copyright (C) 1996, Eiichiroh Itoh



                            [  Translated from Japanese by:  ]
                            [  Toshiki Sasabe (Janbe)        ]
                            [  73560.524@compuserve.com      ]

